package br.ufscar.acumaaf.smc.adapter;

import java.util.List;

import br.ufscar.acumaaf.smc.R;
import br.ufscar.acumaaf.smc.dao.DadoSessaoDAO;
import br.ufscar.acumaaf.smc.model.DadoSessao;
import br.ufscar.acumaaf.smc.model.Usuario;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class AdaptadorListaUsuariosPorSessao extends BaseAdapter{

	private Context context;
	private List<Usuario> listaUsuarios;
	private Integer codigoSessao;
	
	public AdaptadorListaUsuariosPorSessao(Context c, List<Usuario> lista, Integer codigo) {
		this.context = c;
		this.listaUsuarios = lista;
		this.codigoSessao = codigo;
	}

	public int getCount() {
		return listaUsuarios.size();
	}

	public Object getItem(int position) {
		return listaUsuarios.get(position);
	}

	public long getItemId(int position) {
		return position;
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		
		//Recupera o Usuário da posição atual
		Usuario u = listaUsuarios.get(position);
		LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View view = inflater.inflate(R.layout.matricula_linha_tabela, null);
		
		//Atualiza o valor do TextView
//		TextView codigo = (TextView) view.findViewById(R.id.listamatricula_textview_codigousuariomatriculado);
//		codigo.setText(u.getCodigoUsuario().toString());
		TextView nome = (TextView) view.findViewById(R.id.listamatricula_textview_nomeusuariomatriculado);
		nome.setText(u.getNome());
		TextView pressaoArterial = (TextView) view.findViewById(R.id.listamatricula_textview_pressaoarterial);
		pressaoArterial.setText("Pressão Arterial: ");
		TextView peso = (TextView) view.findViewById(R.id.listamatricula_textview_peso);
		peso.setText("Peso: ");		
		for (DadoSessao dado : new DadoSessaoDAO(context).buscarDadoSessaoPeloCodigoSessaoECodigoUsuario(codigoSessao, u.getCodigoUsuario())){
			if(dado.getCodigoInstrumentoColeta().equals(1)){
				pressaoArterial.setText("Pressão Arterial: " + dado.getValor());
			}
			if(dado.getCodigoInstrumentoColeta().equals(2)){
				peso.setText("Peso: " + dado.getValor());
			}
		}
		return view;
	}
}
